草庐IT

javascript - Backbone.js 单数模型不在集合中

全部标签

ruby-on-rails - 获取 Rails 中相关模型的列表

假设我有一个对象Person,它有has_many:foos和:bars。给定一个实例p(p=Person.new),我如何以编程方式确定可用的关系?即p.some_method=>["foo","bar"] 最佳答案 您可以使用ActiveRecordReflections(APIhere)在你的例子中:p.class.reflect_on_all_associations(:has_many).collect{|a|a.name} 关于ruby-on-rails-获取Rails中相关

ruby-on-rails - 渲染联接模型及其关联模型的JSON对象

在Rails(4.1.5/ruby​​2.0.0p481/win64)应用程序中,我在Student和Course之间建立了多对多关系,并表示了该关联的联接模型StudentCourse并具有和附加属性,称为start(set默认情况下为“false”)。我还在由student_id和course_id组成的联接表中添加了一个索引,并对此设置了唯一的检查,就像这样t.index[:student_id,:course_id],:unique=>true,:name=>'by_student_and_course'我希望将其用作复合主键,但是由于在Rails中没有复合主键(不使用gem)

ruby-on-rails - 如何以一种 rails 形式处理多个模型?

我有以下型号classSurvey我的Controller:defnew@survey=Survey.newsurvey_section=@survey.survey_sections.buildsurvey_section.questions.buildenddefcreate@survey=Survey.new(survey_params)if@survey.saveredirect_to@survey,notice:'Super'elserender'new'endenddefsurvey_paramsparams.require(:survey).permit(:title,:

ruby - 使用 mongodb/mongoid 运行时更改模型

我必须在mongoid模型中添加几个字段,我知道MongoDB没有迁移,但如果我继续而不删除数据库,使rails完全“重新生成”数据库,它不会显示或使用新的领域!去这里最好的方法是什么?有比删除/重新打开mongodb更软的东西吗?提前致谢卢卡 最佳答案 一般来说,应该可以在运行时用新字段更新旧文档。MongoDB中不需要迁移。您可能想编写rake任务以使用新字段和默认值更新旧文档。您可以通过检查那些默认值为nil的新字段来找到这些文档。更新简单风格:如果您使用默认值定义一个新字段,只要您设置了一个新值,就应该始终使用该值:应用程序

ruby-on-rails - 如何使用 Ruby on Rails 将数据从 Controller 传递到模型?

如何将数据从Controller传递到模型?在我的application_controller中,我获取用户的位置(州和城市)并包含一个before_filter以使其在我的所有Controller中都可以通过访问before_filter:communitydefcommunity@city=request.location.city@state=request.location.state@community=@city+@stateend然后我尝试通过以下方式将Controller中检索到的数据添加到模型中:before_save:add_communitydefadd_comm

ruby-on-rails - 为没有 `attr_accessor` 的 Rails 模型设置非数据库属性

在PHP中,我可以为模型设置一个属性(不是数据库中的列)。例如(PHP代码),$user=newUser;$user->flag=true;但在Rails中,当我设置数据库中不存在的任何属性时,它会抛出错误undefinedmethodflag。有attr_accessor方法,但是如果我需要大约十个临时属性会怎样? 最佳答案 butwhatwillhappenifIneedabouttentempattributes?#app/models/user.rbclassUserattr_accessor创建"virtual"attri

不在任何方法中的 Ruby 代码

一般Ruby问题:在Ruby中,我经常看到类内部的代码,而不是方法的一部分。例如:classDooDadattr_accessor:fooend或classTeacher我认为attr_accessor和has_many是分别使用:foo或:students参数调用的方法,是对的吗?如果是这样,这些语句何时执行。我试过这个:classDooDadattr_accessor:fooputs"Ihappened!"@foo=7endnew方法似乎没有运行这些部分:dd=DooDad.newdd.foo输出nil,并且从不吐出任何puts东西这一切究竟是如何运作的?

ruby - 将 ruby​​ 数组用于 erb 中的 javascript 数组。转义引号

我在网上找到了很多这方面的东西,但它们对我不起作用。我错过了什么吗?在我的Controller中我有@t=["a","b","c"]在作为“回调”的erb文件中,@t呈现如下:["a","b","c"]我做了一些技巧来将"替换为正确的'符号。我读过to_json应该可以工作,但它没有。下面的代码不起作用["a","b","c"].to_json。结果是一样的。 最佳答案 to_json工作正常。您遇到的是Rails3.x的XSS保护。在Railscasts上有一篇关于此的好

ruby-on-rails - 我可以从模型中获取表、列和类型信息吗?

我正在使用ruby​​和activerecord获取有关mysql表的信息。我希望我可以直接从我的模型类中获取这些信息,这可能吗?假设我有我的模型:classProduct我现在可以获取以下信息吗:1.mysqltable2.columns3.columntypes或者我是否必须更深入地查看ActiveRecord模块才能获得它? 最佳答案 Product.table_nameProduct.column_namesProduct.columns_hash['title'].type 关

ruby - 如何匹配不在两个特殊字符之间的正则表达式?

我有这样一个字符串:abcab"ab"ba"a"如何匹配不是由"分隔的字符串的一部分的每个a?我想匹配此处加粗的所有内容:abcab"ab"ba"a"我想替换那些匹配项(或者更确切地说,通过用空字符串替换它们来删除它们),因此删除引用的匹配部分将不起作用,因为我希望它们保留在字符串中。我正在使用Ruby。 最佳答案 假设引号正确平衡并且没有转义引号,那么很容易:result=subject.gsub(/a(?=(?:[^"]*"[^"]*")*[^"]*\Z)/,'')当且仅当匹配的a前面有偶数个引号时,这会将所有a替换为空字符串。